//
//  LLPScrollView.h
//  LLP
//
//  Created by Porcellio on 10/16/12.
//  Copyright (c) 2012 Porcellio. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>

@class LLPScrollItem;

typedef enum {

    LLPScrollViewNormalStatus,
    LLPScrollViewEditStatus
    
}LLPScrollViewStatus;

@interface LLPScrollView : UIView <UIScrollViewDelegate> {
@protected
    UIScrollView                        *_scrollView;
    UIView                              *_longPressedView;
    
    NSMutableArray                      *_items;
    CGSize                               _itemSize;
    LLPScrollViewStatus                  _currentStatus;
    BOOL                                 _isGestureEnable;
    NSInteger                            _columnCount;
    CGPoint                              _lastPoint;
    NSInteger                            _lastIndex;
}

@property (nonatomic, retain, readonly) NSArray                 *items;
@property (nonatomic, assign, readonly) LLPScrollViewStatus      currentStatus;
@property (nonatomic, assign) BOOL  isGestureEnable;

- (void)addItem:(LLPScrollItem *)item;
- (void)addItemsFromArray:(NSArray *)items;
- (void)insertItem:(LLPScrollItem *)item atIndex:(NSInteger)index;
- (void)removeItem:(LLPScrollItem *)item;
- (void)removeItemAtIndex:(NSInteger)index;
- (void)removeAllItems;

@end
